package com.zhixi.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhixi.dto.DishDto;
import com.zhixi.pojo.Dish;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author zhangzhixi
 * @description 针对表【dish(菜品管理)】的数据库操作Service
 * @createDate 2022-07-10 15:59:29
 */
public interface DishService extends IService<Dish> {

    /**
     * 保存菜品的同时，保存菜品的口味
     *
     * @param dishDto 菜品数据传输对象
     * @param request HttpServletRequest对象
     */
    void saveDishFlavor(DishDto dishDto, HttpServletRequest request);

    /**
     * 分页查询菜品
     *
     * @param page     分页对象
     * @param pageSize 每页显示的条数
     * @param name     菜品名称
     * @return 菜品分页对象
     */
    Page<Dish> page(int page, int pageSize, String name);

    /**
     * 根据菜品id查询菜品
     *
     * @param id 菜品id
     * @return 菜品对象
     */
    DishDto getDishWithFlavor(Long id);

    void updateWithFlavor(DishDto dishDto, HttpServletRequest request);

    void updateStatus(Long[] id, int i, HttpServletRequest request);

    /**
     * 根据菜品id删除菜品
     * @param asList 菜品id数组
     */
    void deleteBatch(List<Long> asList);
}
